perm filename MUS5IO.FAI[P11,LCS] blob sn#339416 filedate 1978-03-09 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	 ******** THIS IS IRCAM VERSION ******
C00012 ENDMK
CāŠ—;
; ******** THIS IS IRCAM VERSION ******
;  MTA1 ITEMS ARE USED WITH "TAPMUS" (ETC.), TAPE TRANSFER PROGS.
	TITLE MUS5IO 
;;	INTERNAL FASTOU,PUTFIL,FINFIL,WRTHD,PACK
	INTERNAL FASTOU,PUTFIL,FINFIL,PACK,IFIX,FLOAT
;;;	EXTERNAL SBFILN
	CH2←11

IFIX:	0
 	MOVE 1,@(16)
 	CAML 1,[244400,,0]
 	JRST FIX2
 	CAMG 1,[-<244400,,0>]
 	JRST FIX3
 	KIFIX 0,1
 	JRA 16,1(16)
FIX2:	HRLOI 0,377777 ;+ INFINITY
	JRA 16,1(16)
FIX3:	MOVSI 0,400000 ; - INFINITY
 	JRA 16,1(16)
; AVOIDS OLD FIX AND FLOAT ROUTINES IN LIB40??
FLOAT:	0
	FLTR 0,@(16)
	JRA 16,1(16)

DEFINE ERROR (MSG)
<	JSA 16,.ERROR
	JUMP [ASCIZ/MSG/
]
>

;WRTHD:	0
;	USETO CH2,1	;GO BACK TO WRITE THE HEADER.
;	JRA 16,(16)
;;	POPJ 17,

;CALL PUTFIL(<FILE>)

PUTFIL:	0
	MOVE 0,@0(16)
	MOVEM FILNAM
	JSA 16,INTFIL
	MOVE 0,[SIXBIT/SND/]
	MOVEM 0,DIR+1
	SETZM DIR+2
	SETZM DIR+3
	ENTER CH2,DIR
	0
;;;	MOVE DIR
;;;	MOVEM SBFILN
;;	POPJ 17,
	JRA 16,1(16)

;CALL FASTOUT(<ARRAY>,<NO. OF WORDS>)

FASTOUT: 0
	HRRZ 0,0(16)
	SUBI 0,1
	MOVEM 0,COM
	MOVN 0,@1(16)
	HRLM 0,COM
	OUTPUT CH2,COM
	STATZ CH2,740000
	0
;;	POPJ 17,
	JRA 16,2(16)



;CALL FINFIL

FINFIL:	0
	CLOSE CH2,0
	STATZ CH2,740000
	0
	RELEASE CH2,0
	JRA 16,0(16)
;;	POPJ 17,

DIR:	BLOCK 4


INTFIL:	0	;INITS DSK 
	INIT CH2,17
	SIXBIT/DSK/
	0
	ERROR <CAN'T INIT DSK!>
INTF4:	MOVE 0,FILNAM#
	MOVEM 0,FN#
	MOVE 1,[POINT 7,FN]
INTF3:	MOVE 2,[POINT 6,DIR]
	SETZM DIR
	MOVEI 3,5
INTF1:	ILDB 0,1
	CAIN 0," "
	JRST INTF2
	SUBI 0,40
	IDPB 0,2
	SOJG 3,INTF1
INTF2:	JRA 16,0(16)


COM:	OCT 0,0
COM1:	0
BLKNUM:	0

.ERROR:	0
	OUTSTR [ASCIZ/?
/]				;MAKE SURE HE CAN SEE HIS ERROR
	OUTSTR @(16)		;OUTPUT ERROR MESSAGE
	CALLI 1,12		;LET USER CONTINUE
	JRA 16,1(16)

;;CALL PACK(PW,AR)
PACK:	0
	HRRZ 4,1(16)	; ******* USES AC'S 4,5,6 ********
;;????	MOVE 4,@4
	ADDI 4,2
	HRR 5,@4	;SIZE IS 12 BITS
	LSHC 5,-14
	SOJ 4,
	HRR 5,@4
	LSHC 5,-14
	SOJ 4,
	HRR 5,@4
	LSHC 5,-14
	MOVEM 6,@0(16)
;;	POPJ 17,
	JRA 16,2(16)
END